nodeNameResolver = $nodeNameResolver; } /** * @param string[] $interfaceFQNS */ public function removeImplements(Class_ $class, array $interfaceFQNS) : void { foreach ($class->implements as $key => $implement) { if (!$this->nodeNameResolver->isNames($implement, $interfaceFQNS)) { continue; } unset($class->implements[$key]); } } }